<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>iterator</title>
  <script>

    /** 
     * iterator 迭代器
     */
    const array = [1, 2, 3];
    // 语法：array[Symbol.iterator]()
    /** 
     * 返回值是一个新的可迭代的迭代器对象，生成数组中每个索引的值
     */
    const iterator = array[Symbol.iterator]();
    console.log(iterator); // Array Iterator {}

    // 获取值 , 手动执行迭代器
    console.log(iterator.next().value, iterator.next().done); // 1 false
    console.log(iterator.next().value); // 2 false
    console.log(iterator.next().value); // 3 false
    console.log(iterator.next().value); // undefined false

    /** done 为true代表迭代完成 */



  </script>
</head>

<body>

</body>

</html>